Dieser Text beschreibt Klasse (objektorientierte Programmierung). Der untere Text beinhaltet die Klasse (objektorientierte Programmierung) Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine Klasse (objektorientierte Programmierung) Definition vorhanden sein. Sollte eine Definition von Klasse (objektorientierte Programmierung) fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von Klasse (objektorientierte Programmierung) möglichst ausführlich zu halten.
Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema Klasse (objektorientierte Programmierung) Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema Klasse (objektorientierte Programmierung) beschreiben finden Sie auf der Seite alle Artikel über Klasse (objektorientierte Programmierung). Fragen zu dem Thema Klasse (objektorientierte Programmierung) können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.
Klasse (objektorientierte Programmierung) ArtikelKlasse ist in der objektorientierten Programmierung ein abstrakter Oberbegriff für die Beschreibung der gemeinsamen Struktur und/oder des gemeinsamen Verhaltens von Objekten (Klassifizierung). Sie dient dazu, Objekte zu abstrahieren. In dem Zusammenspiel mit anderen Klassen ermöglichen sie die Modellierung eines abgegrenzten Systems (siehe objektorientiertes Design).
Die Struktur einer Klasse bilden die Attribute (auch Merkmale), das Verhalten die Methoden (auch Operation , Funktion, Prozedur) der Klasse.
Aus Klassen erzeugte Objekte werden als Exemplare oder Instanzen der Klasse genannt.
In manchen Programmiersprachen gibt es zu jeder Klasse ein bestimmtes Objekt (Klassenobjekt ), das dazu da ist, die Klasse zur Laufzeit zu repräsentieren; dieses Klassenobjekt ist dann auch zuständig für die Erzeugung von Objekten der Klasse und den Aufruf der korrekten Methode.
Klassen können von anderen Klassen abgeleitet werden (Vererbung). Dabei erbt die Klasse die Datenstruktur (Attribute) und die Methoden von der vererbenden Klasse (Basisklasse ). Die abgeleitete Klasse (Subklasse) kann Methoden der Basisklasse überschreiben (sofern diese es erlaubt; die Möglichkeit, dies zu verbieten, hängt von der Programmiersprache ab), d.h. die Methode neu implementieren, und eigene Methoden und Daten (Attribute) hinzufügen. Ein Objekt der abgeleiteten Klasse kann überall benutzt werden, wo ein Objekt der Basisklasse erwartet wird; überschriebene Methoden werden dann auf der abgeleiteten Klasse ausgeführt (Polymorphie).
Klassen werden in der Regel in Form von Klassenbibliotheken zusammengefasst, die häufig thematisch organisiert sind. So können Anwender einer objektorientierten Programmiersprache Klassenbibliotheken erwerben, die den Zugriff auf Datenbanken ermöglichen.
Buch-Tipp: Aga-pe. CD. . Die Liebe ohne Objekt Ganzheitlicher Hörgenuss Diese CD ist das Beste, was ich seit langer Zeit gehört habe. Sphärische und irdische Klänge in Harmonie. In dem Gegensatz zu anderer spiritueller Musik fühlte ich mich die ganze Zeit stark geerdet und doch wie zu Hause in den Lichtwelten. Verwurzelt, in der Mitte und verbunden mit allem was ist. Man spürt, das der Komponist... | |
Angenommen es wird eine Klasse für eine Tabelle einer einfachen Datenbank entworfen. Ein Objekt ist dann ein einzelner Datensatz ( = Zeile ) in dieser Tabelle.
Ein Klasse Bankkonto könnte beispielsweise mit folgenden Merkmalen definiert werden:
- hat eine Kontonummer (Attribut)
- hat einen Kontoinhaber (Referenz auf einen Kunden)
- hat eine Liste von Buchungen (Liste von Referenzen auf Buchungen)
- hat einen Saldo (Attribut)
- kann eine Einzahlung durchführen (Methode)
- kann eine Auszahlung durchführen (Methode)
Jede Kontobewegung würde dann einem Methodenaufruf entsprechen und der Liste der Buchungen ein Element hinzufügen sowie den Saldo modifizieren.
Um eine Klasse "Schueler" zu erzeugen, kann man verschiedenes Merkmalen definieren: Name, Vorname, Geburtstag, Geschlecht, Adresse.
Ein spezieller Schüler ist dann ein Objekt dieser Klasse, wenn für ihn eine Instanz erzeugt wurde und wenn seine Daten in die Instanzattribute eingetragen sind.
|
| |
Das folgende Beispiel ist in 074773cf6b3626a40f7cb35c43246 Tausend geschrieben:
class Basisklasse {
public:
virtual void machwas() {
std::cout << "Basisklasse::machwasn";
}
};
class abgeleitete_Klasse : public Basisklasse {
public:
virtual void machwas() {
std::cout << "abgeleitete_Klasse::machwasn";
}
};
void mach_was_mit(Basisklasse& b) {
b.machwas();
}
int main() {
Basisklasse objekt1;
abgeleitete_Klasse objekt2;
mach_was_mit(objekt1);
mach_was_mit(objekt2);
}
Dieses Programm definiert eine Klasse Basisklasse und eine davon abgeleitete Klasse abgeleitete_Klasse.
Die Basisklasse hat eine Methode namens machwas(), die Basisklasse::machwas ausgibt (dafür ist die Zeile mit std::cout zuständig). virtual bedeutet in C++ "kann überschrieben werden". Das macht die abgeleitete Klasse dann auch, sie definiert die Methode um, so dass sie abgeleitete_Klasse::machwas ausgibt.
Anschließend folgt die Definition einer eigenständigen Funktion mach_was_mit(...) , die ein Objekt der Basisklasse als Argument bekommt. Auf diesem Objekt wird die Methode machwas() gerufen.
Schließlich folgt das Hauptprogramm, das sowohl ein Objekt der Basisklasse (objekt1) als auch der abgeleiteten Klasse (objekt2) definiert, und dann mach_was_mit(...) zuerst mit einem Objekt der Basisklasse, dann mit einem Objekt der abgeleiteten Klasse aufruft.
Wird dieses Programm kompiliert und ausgeführt, so gibt es
Basisklasse::machwas
abgeleitete_Klasse::machwas
aus, obwohl die Funktion mach_was_mit(...) nur für ein Basisklassenobjekt als Argument definiert ist (in der Tat hätte die abgeleitete Klasse sogar in einer später dazu gefügten Quelldatei geschrieben werden können, nach dem die Funktion mach_was_mit(...) schon lange fertig kompiliert war).
Dieses Verhalten bezeichnet man Polymorphie.
|
Einige Programmiersprachen mit Klassen | |
===Siehe auch===
|
Weiteres zu dem Artikel Klasse (objektorientierte Programmierung) | | Andere Leser interessierten sich auch für folgende Beschreibungen: | Datensatz, Einzahlung, Funktion, Instanz, Kontonummer, Laufzeit, Liste, Programm, Programmiersprache, Regel, Schnittstelle, Struktur | | Schnellzugrif auf verwandte Texte: | | | NEU! Frage im Forum zum Thema: | | Wenn die Beschreibung 'Klasse (objektorientierte Programmierung)' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die Klasse (objektorientierte Programmierung) Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'Klasse (objektorientierte Programmierung)' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'Klasse (objektorientierte Programmierung)' und 'Klasse (objektorientierte Programmierung)' Definition sehr dankbar.
Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'Klasse (objektorientierte Programmierung)' Beschreibung entsprechen.
|
|
|